home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- . /lib/partman/lib/base.sh
-
- task=$1
- dev=$2
- id=$3
-
- cd $dev
-
- if [ "$task" = bootable ]; then
- open_dialog PARTITION_INFO $id
- read_line x1 x2 x3 type x5 x6 x7
- close_dialog
- if [ "$type" = logical ]; then
- db_input high partman-partitioning/bootable_logical || true
- db_go || exit 0
- db_get partman-partitioning/bootable_logical
- [ "$RET" = true ] || exit 0
- fi
- fi
-
- new_flags=''
- open_dialog GET_FLAGS $id
- while { read_line flag; [ "$flag" ]; }; do
- if [ "$flag" != boot ]; then
- if [ "$new_flags" ]; then
- new_flags="$new_flags
- $flag"
- else
- new_flags="$flag"
- fi
- fi
- done
- close_dialog
-
- if [ $task = bootable ]; then
- new_flags="$new_flags
- boot"
- fi
-
- open_dialog SET_FLAGS $id
- write_line "$new_flags"
- write_line NO_MORE
- close_dialog
-
- partitions=''
- numparts=1
- open_dialog PARTITIONS
- while { read_line num id size type fs path name; [ "$id" ]; }; do
- [ "$fs" != free ] || continue
- partitions="$partitions $id"
- numparts=$(($numparts + 1))
- done
- close_dialog
-
- db_progress START 0 $numparts partman/text/please_wait
- db_progress INFO partman-partitioning/new_state
-
- for id in $partitions; do
- update_partition $dev $id
- db_progress STEP 1
- done
-
- db_progress STOP
-